home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / online / gchess.EXE / CHESS-32.MAK < prev    next >
Makefile  |  1995-02-22  |  7KB  |  239 lines

  1. #
  2. #  C source for GNU CHESS
  3. #
  4. #  Revision: 1990-12-26
  5. #
  6. #  Modified by Daryl Baker for use in MS WINDOWS environment
  7. #
  8. #  This file is part of CHESS.
  9. #
  10. #  CHESS is distributed in the hope that it will be useful, but WITHOUT ANY
  11. #  WARRANTY.  No author or distributor accepts responsibility to anyone for
  12. #  the consequences of using it or for whether it serves any particular
  13. #  purpose or works at all, unless he says so in writing.  Refer to the CHESS
  14. #  General Public License for full details.
  15. #
  16. #  Everyone is granted permission to copy, modify and redistribute CHESS, but
  17. #  only under the conditions described in the CHESS General Public License.
  18. #  A copy of this license is supposed to have been given to you along with
  19. #  CHESS so you can know your rights and responsibilities.  It should be in a
  20. #  file named COPYING.  Among other things, the copyright notice and this
  21. #  notice must be preserved on all copies.
  22. #
  23. #
  24. !include <ntwin32.mak>
  25.  
  26. PROJ = chess
  27. PROJFILE = chess.mak
  28. VER = 321
  29.  
  30. CC  = cl
  31. #change the following line if optimizations are desired
  32. #CFLAGS  = /W3 /Od /DWIN32 /D_WIN32 /nologo /Z7 /Zp
  33. CFLAGS  = /W3 /Ox /DWIN32 /D_WIN32 /nologo /Zp
  34.  
  35. LRF  = echo > NUL
  36. LINKER  = link
  37. LFLAGS  =   /BATCH /nologo /map 
  38. LLIBS_R  =  /NOD:SLIBCE SLIBCEW
  39. LLIBS_G  = LIBC.LIB
  40. MAPFILE_R  = chess.map
  41.  
  42. ASM  = pas
  43. AFLAGS_G  = /Mx /T
  44.  
  45. RC  = rc
  46. IMPLIB  = implib
  47.  
  48. DEF_FILE  = CHESS.DEF
  49. OBJS  = CHESS.obj INIT.obj BOARD.obj ABOUT.obj PIECE.obj \
  50.         HITTEST.obj COLOR.obj TIMECNT.obj SEARCH.obj INITIALI.obj \
  51.         EVAL.obj GLOBALS.obj DSP.obj MSWDSP.obj BOOK.obj CREATE.obj \
  52.         SAVEOPEN.obj NUMDLG.obj INITMENU.obj REVIEW.obj STATS.obj \
  53.         TEST.obj PROMOTE.obj MANUAL.obj
  54.  
  55. RT_OBJS = VERSION.obj
  56.  
  57. RESS = chess.res
  58.  
  59. BMPS = king.bmp kingm.bmp kingo.bmp pawn.bmp pawno.bmp pawnm.bmp \
  60.        rook.bmp rooko.bmp rookm.bmp knight.bmp knightm.bmp knighto.bmp \
  61.        bishop.bmp bishopm.bmp bishopo.bmp queen.bmp queenm.bmp queeno.bmp
  62.  
  63. HELPFILES = chess.rtf article.rtf article2.rtf copying.rtf move-gen.rtf heuristi.rtf match.rtf
  64. HELPSOURCE = chess.doc article.doc article2.doc copying.doc move-gen.doc heuristi.doc match.doc
  65.  
  66. all: $(PROJ).exe $(PROJ).hlp
  67.  
  68. .SILIENT:
  69.  
  70. .SUFFIXES: .rc .res .c .obj .doc .rtf
  71.  
  72. CHESS.RES : chess32.rc $(BMPS) color.dlg chess.ico timecnt.dlg saveopen.dlg \
  73.             getnum.dlg review.dlg about.dlg stats.dlg test.dlg promote.dlg \
  74.             manual.dlg
  75.         rc chess32.rc
  76.  
  77. ABOUT.obj : ABOUT.C
  78.         $(CC) /c $(CFLAGS) $*.c
  79.  
  80. CHESS.obj : CHESS.C gnuchess.h defs.h chess.h saveopen.h  color.h 
  81.         $(CC) /c $(CFLAGS) $*.c
  82.  
  83. COLOR.obj : COLOR.C chess.h color.h
  84.         $(CC) /c $(CFLAGS) $*.c
  85.  
  86. MANUAL.obj : MANUAL.C chess.h
  87.         $(CC) /c $(CFLAGS) $*.c
  88.  
  89. NUMDLG.obj : NUMDLG.C chess.h
  90.         $(CC) /c $(CFLAGS) $*.c
  91.  
  92. PROMOTE.obj : PROMOTE.C chess.h
  93.         $(CC) /c $(CFLAGS) $*.c
  94.  
  95. REVIEW.obj : REVIEW.C gnuchess.h chess.h defs.h
  96.         $(CC) /c $(CFLAGS) $*.c
  97.  
  98. SAVEOPEN.obj : SAVEOPEN.C saveopen.h
  99.         $(CC) /c $(CFLAGS) $*.c
  100.  
  101. STATS.obj : STATS.C gnuchess.h stats.h
  102.         $(CC) /c $(CFLAGS) $*.c
  103.  
  104. TEST.obj : TEST.C gnuchess.h chess.h defs.h
  105.         $(CC) /c $(CFLAGS) /Od $*.c
  106.  
  107. TIMECNT.obj : TIMECNT.C timecnt.h chess.h
  108.         $(CC) /c $(CFLAGS) $*.c
  109.  
  110. BOARD.obj : BOARD.C defs.h
  111.         $(CC) /c $(CFLAGS) $*.c
  112.  
  113. BOOK.obj : BOOK.C gnuchess.h defs.h chess.h
  114.         $(CC) /c $(CFLAGS) $*.c
  115.  
  116. CREATE.obj : CREATE.C defs.h chess.h
  117.         $(CC) /c $(CFLAGS) $*.c
  118.  
  119. DSP.obj : DSP.C gnuchess.h defs.h chess.h
  120.         $(CC) /c $(CFLAGS) $*.c
  121.  
  122. EVAL.obj : EVAL.C gnuchess.h defs.h
  123.         $(CC) /c $(CFLAGS) $*.c
  124.  
  125. GLOBALS.obj : GLOBALS.C gnuchess.h
  126.         $(CC) /c $(CFLAGS) $*.c
  127.  
  128. HITTEST.obj : HITTEST.C defs.h
  129.         $(CC) /c $(CFLAGS) $*.c
  130.  
  131. INIT.obj : INIT.C
  132.         $(CC) /c $(CFLAGS) $*.c
  133.  
  134. INITIALI.obj : INITIALI.C gnuchess.h defs.h
  135.         $(CC) /c $(CFLAGS) $*.c
  136.  
  137. INITMENU.obj : INITMENU.C gnuchess.h chess.h
  138.         $(CC) /c $(CFLAGS) $*.c
  139.  
  140. MSWDSP.obj : MSWDSP.C gnuchess.h chess.h defs.h stats.h
  141.         $(CC) /c $(CFLAGS) $*.c
  142.  
  143. PIECE.obj : PIECE.C chess.h defs.h
  144.         $(CC) /c $(CFLAGS) $*.c
  145.  
  146. SEARCH.obj : SEARCH.C gnuchess.h defs.h
  147.         $(CC) /c $(CFLAGS) $*.c
  148.  
  149. #
  150. # Code to generate new time stamp when any module updated
  151. #
  152. #makever.exe: makever.c
  153. #        cc /nologo makever.c
  154. #
  155.  
  156. VERSION.obj: VERSION.c
  157.         $(CC) /c $(CFLAGS) $*.c
  158.  
  159. #VERSION.c:  $(OBJS) $(RESS) $(BMPS) makever.exe
  160. #        makever >version.c
  161.  
  162. # Create the help file
  163.  
  164. chess.hlp: chess.hpj $(HELPFILES)
  165. #        hc chess.hpj
  166.  
  167. chexe$(VER).zip:
  168. distexe: chess.exe readme.txt gnuchess.boo chess.hlp copying
  169.         -del chexe$(VER).zip
  170.         pkzip -a chexe$(VER) readme.txt chess.exe gnuchess.boo chess.hlp copying
  171.  
  172. distsrc: chess.exe chexe$(VER).zip readme.txt chess.mak chess.hlp
  173.         -del chess$(VER).zip
  174.         pkzip -a chess$(VER) @files.lst
  175.  
  176. #        pkzip -a chess$(VER) readme.txt $(PROJ).exe *.boo $(PROJ).hlp files.lst
  177. #        pkzip -a chess$(VER) $(PROJ).def $(PROJ).rc *.dlg $(PROJ).mak $(PROJ).ico 
  178. #        pkzip -a chess$(VER) copying winport change.log todo *.h *.c *.bmp 
  179. #        pkzip -a chess$(VER) chess.hpj $(HELPFILES)
  180. #        pkzip -a chess$(VER) $(HELPSOURCE)
  181.  
  182. disttar: chess.exe chexe$(VER).zip readme.txt chess.mak chess.hlp
  183.         -del ch$(VER)t.*
  184.         -del chess.ta?
  185.         tar -cf chess.tar -u bmp -u doc -u rtf -u hlp -u exe -T files.lst
  186.         c:\ucs\compress chess.tar
  187.         ren chess.taz ch$(VER)t.Z
  188.  
  189. distmail: chess.exe chexe$(VER).zip readme.txt chess.mak chess.hlp
  190.         -del ch$(VER)t.*
  191.         -del chess.ta?
  192.         tar -cf chess.tar -u bmp -u doc -u rtf -u hlp -u exe -T files.lst
  193.         c:\ucs\compress chess.tar
  194.         ren chess.taz ch$(VER)t.Z
  195.         uuxfer20 -s61000 -m -o -ech$(VER)t.Z 
  196.  
  197. clean:
  198.         -del *.obj
  199.         -del *.bak
  200.         -del *.res
  201.         -del *.err
  202.         -del *.ph
  203.  
  204. #$(PROJ).exe : $(DEF_FILE) $(OBJS) $(RT_OBJS) $(RESS)
  205. #        $(LRF) @<<$(PROJ).lrf
  206. #$(LFLAGS) $(RT_OBJS: = +^
  207. #) $(OBJS: = +^
  208. #)
  209. #$@
  210. #$(MAPFILE_R)
  211. #$(LLIBS_G: = +^
  212. #) +
  213. #$(LLIBS_R: = +^
  214. #) +
  215. #$(LIBS: = +^
  216. #)
  217. #$(DEF_FILE) ; 
  218. #<<
  219.  
  220. $(PROJ).exe : $(DEF_FILE) $(OBJS) $(RT_OBJS) $(RESS)
  221. #        $(LINKER) $(OBJS) $(RT_OBJS) libc.lib comdlg32.lib user32.lib shell32.lib kernel32.lib gdi32.lib /out:$(PROJ).exe chess32.res /debug /debugtype:both
  222.         $(LINKER) $(OBJS) $(RT_OBJS) libc.lib comdlg32.lib user32.lib shell32.lib kernel32.lib gdi32.lib /out:$(PROJ).exe chess32.res
  223.  
  224. #        $(RC) $(RESS) $@
  225.  
  226. .c.obj :
  227.         $(CC) /c $(CFLAGS) $<
  228.  
  229. .rc.res :
  230.         $(RC) /r $<
  231.  
  232. #
  233. # this rule is here to trap changes to the doc files.  Ideally it
  234. # would call a program todo RTF conversion.
  235. #
  236. .doc.rtf :
  237.         @echo $< is out of date. Resave as RTF.
  238.         @zzz### dummy command line need abort command
  239.